package org.Yiran.timetale_re.item.tool.screwdriver;

import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import org.Yiran.timetale_re.item.tool.screwdriver.core.ScrewdriverItem;
import org.Yiran.timetale_re.item.tool.screwdriver.modules.container.ToolModuleContainer;

/**
 * 精英等级起子
 * <p>
 * 该类实现了精英等级的起子工具。
 * 精英起子具有6个模块槽位。
 * 继承自ScrewdriverItem基类。
 * </p>
 */
public class EliteScrewdriverItem extends ScrewdriverItem {
    private static final int DEFAULT_CAPACITY = 1280000;
    private static final int DEFAULT_TRANSFER = 256000;
    // ==============================
    // 构造方法
    // ==============================

    /**
     * 精英起子构造函数
     * <p>
     * 创建一个精英起子实例，设置物品属性。
     * 精英起子具有较高的耐久度。
     * </p>
     */
    public EliteScrewdriverItem() {
        super(
                DEFAULT_CAPACITY,
                DEFAULT_TRANSFER,
                DEFAULT_TRANSFER,
                new Item.Properties().stacksTo(1).defaultDurability(1561),
                "timetale_re.tier.level.elite"
        );
    }

    @Override
    public int getMaxModules() {
        return 8; // 精英等级：8个槽位
    }

    /**
     * 根据物品堆栈创建模块容器
     * <p>
     * 根据物品堆栈中的等级信息创建相应大小的模块容器
     * </p>
     *
     * @param stack 物品堆栈
     * @return 模块容器
     */
    @Override
    public ToolModuleContainer createModuleContainer(ItemStack stack) {
        return new ToolModuleContainer(getMaxModules());
    }
}